草庐IT

python DEAP遗传算法多核速度

全部标签

java - TicTacToe minimax 算法在 4x4 游戏中返回意外结果

在我的方法newminimax499中,我有一个利用内存和alphabeta修剪的minimax算法。该方法通常适用于3x3游戏,但是当我玩4x4游戏时,我会得到奇怪的、意想不到的计算机位置选择。他仍然从不输,但他似乎并不是为了赢而比赛。为了说明这里的问题,我们使用2个3x3和4x4游戏的场景。首先是一个3x3游戏的场景,其中玩家是X并迈出第一步:这还不错,事实上,这正是人们希望计算机执行的操作。现在来看一个4x4游戏的场景。同样,O是计算机,X启动:如您所见,计算机只是将Os一个接一个地按系统顺序排列,只有在它有可能获胜时才打破该顺序来阻止X。这是非常防守的打法,不像在3x3比赛中看

performance - JPA+Hibernate(J2SE) @OneToMany - 数百万条记录减慢了添加新对象的速度

我在J2SE项目中使用JPA+Hibernate和PostGreSQL数据库。我有2个实体A和B。A与B具有@OneToMany关系。在我的域模型中,A可能引用数百万个B。当我将新对象添加到集合中时,需要几分钟才能完成。@OneToMany(cascade=CascadeType.PERSIST)Collectionfoo=newArrayList();//mightcontainmillionsofrecords//...//thistakesalotoftimefoo.add(newB());我认为JPA在插入新对象之前获取整个集合。是否可以配置关系,以便通过向集合添加新对象时不执

java - 速度向上或向下舍入

简单的问题:我可以在Velocity模板中执行与Math.ceil和Math.floor等效的操作吗?据我所知,我将不得不使用MathTool,但那似乎没有我想要的。 最佳答案 我想说你可以使用MathTool.roundToInt()和加/减1,但也应该可以提供一个对象,你的方法可能会提供你需要的东西。另请查看VelocityTools2.0谁的MathTool有方法floor()和ceil()。 关于java-速度向上或向下舍入,我们在StackOverflow上找到一个类似的问题:

c# - Bentley-Ottmann 算法实现

C#或Java中是否存在任何现有的Bentley-Ottmann算法实现/库? 最佳答案 这里至少有一个C++实现(包括描述):http://softsurfer.com/Archive/algorithm_0108/algorithm_0108.htm 关于c#-Bentley-Ottmann算法实现,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8113263/

java - java.lang.Object的hashCode具体使用的是什么算法

在JVM中使用什么算法来实现java.lang.Object的隐式hashCode()方法?[OpenJDK或OracleJDK在答案中是首选]。 最佳答案 它依赖于实现(而且在很大程度上,算法完全取决于实现,只要它是一致的。)但是,根据答案here,你可以看到nativesourcefile其中哈希是在OpenJDK7中生成的(查看get_next_hash()函数),它实际上指定了此特定版本中的许多可能算法://Possibilities://*MD5Digestof{obj,stwRandom}//*CRC32of{obj,s

java - 以极高的速度获取行

我在Oracle中有一个非常大的表(数亿行,包含数字和字符串),我需要读取该表的所有内容,对其进行格式化并写入文件或任何其他资源。通常我的解决方案是这样的:packagemy.odp;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileWriter;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.TimeUnit;importjava.lang.Throwable;importjava.sql.*;public

java - 从 Java 插入到 SQL Server 时,我可以获得类似 "BULK INSERT"的速度吗?

在寻找从Java获取数据到SQLServer的最快方法的过程中,我注意到我能想到的最快的Java方法仍然比使用BULKINSERT慢12倍。我的数据是从Java中生成的,而BULKINSERT只支持从文本文件中读取数据,因此除非我将数据输出到临时文本文件,否则不能使用BULKINSERT。反过来,这当然会对性能造成巨大影响。从Java插入时,插入速度约为每秒2500行。甚至当我在for循环之后和executeBatch之前测量时间时。因此,在内存中“创建”数据不是瓶颈。使用BATCHINSERT插入时,插入速度约为每秒30000行。这两个测试都是在服务器上完成的。所以网络也不是瓶颈。关

java - Spring Boot 1.5.x 的速度

有了Springboot1.4.4,我可以直接使用VelocityEngine作为bean。我对application.properties所做的配置:spring.velocity.properties.resource.loader=jarspring.velocity.properties.jar.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoaderspring.velocity.properties.jar.runtime.log.logsystem.c

java - Apache 速度 : Is there a standard way of verifying the correctness of a template from the command line?

我们的网站使用ApacheVelocity模板语言。我们的内容管理系统已经检查了所有生成的XML文档的格式是否正确。我们被要求在将文件推送到实时站点之前检查文档以捕获Velocity语法错误。是否有从命令行验证Velocity模板正确性的标准方法?我准备读取模板路径、初始化速度引擎、解析模板并捕获任何错误asshownonthispage,但如果有一个现成的工具可以获取文件和配置,并吐出任何错误,那么我宁愿使用它。更新这是我最后做的:packagevelocitysample;importjava.io.IOException;importjava.io.StringWriter;im

java - 光学聚类算法。如何获得最好的epsilon

我正在实现一个需要对地理点进行聚类的项目。OPTICS算法似乎是一个非常好的解决方案。它只需要2个参数作为输入(MinPts和Epsilon),分别是将它们视为一个簇所需的最小点数,以及用于比较两个点是否在同一簇中的距离值。我的问题是,由于点的种类繁多,我无法设置固定的epsilon。看看下面的图片。相同的点结构但不同的尺度会产生非常不同的结果。假设设置MinPts=2和epsilon=1Km。在左边,算法会创建2个簇(红色和蓝色),但在右边它会创建一个包含所有点的单个簇(红色),但我想在右边也获得2个簇。所以我的问题是:是否有任何方法可以动态计算epsilon值以获得此结果?编辑20